System and method for pre-caching a first portion of a video file on a set-top box

ABSTRACT

A method of pre-caching video content is provided and includes measuring an available bandwidth of a data connection to a set top box. The available bandwidth measurement can be an average available bandwidth of the data connection to the set top box or a minimum available bandwidth of the data connection to the set top box. Each of a plurality of video files is divided into a first portion and a second portion and the size of each first portion is based on the available bandwidth measurement. The first portion of each of the plurality of video files is downloaded over the data connection and stored in a memory within the set top box. A list is displayed at a display device and includes a list of video titles that correspond to the plurality of video files that have only a first portion downloaded to the memory.

FIELD OF THE INVENTION

The present disclosure relates generally to set top boxes.

BACKGROUND

For years, televisions have been a staple of consumer electronics sales. As such, a large majority of households in the United States owns at least one television. Providing content to those televisions is a lucrative business and there are numerous types of television content to choose from. For example, viewers can subscribe to digital broadband television networks and digital satellite television networks in order to receive standard digital television content or high definition television content via a broadband connection or a satellite connection. In addition, many companies now offer digital video recorders (DVRs) that can be incorporated into standard set top boxes. A DVR can be used to record digital television content transmitted to the set top box.

Many service providers also offer streaming video content and pre-cache video content in order to provide a user with content that is tailored to his or her needs or tastes. Unfortunately, streaming video content systems and pre-cache video content systems have limitations. For example, in a streaming video content system, the set top box builds up a buffer of the streaming video before video content can be displayed. The buffer is provided in order to account for variations in the download performance of the network. Depending on the available bandwidth and the level at which the content is encoded, the caching phase of the streaming video content can take more than several hours.

With pre-cache video content systems, video files are stored in their entirety on the set top box in anticipation of a user wishing to download one or more of the video files. A pre-cache video content system eliminates the wait, but due to the relatively large sizes of the video files, only a limited number of movies can be pre-cached on the set top box, e.g., five to fifteen video files. As such, if a customer is not interested in one or more of the pre-cached video files, he or she must wait for the entire video file to be downloaded.

Accordingly, there is a need for an improved system and method for pre-caching video files on a set top box.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is pointed out with particularity in the appended claims. However, other features are described in the following detailed description in conjunction with the accompanying drawings in which:

FIG. 1 is a block diagram that is representative of an entertainment system;

FIG. 2 is a flow chart to illustrate general operating logic that can be used to pre-cache video files at a set top box and broadcast the video files via the entertainment system; and

FIG. 3 is a flow chart to illustrate general configuration logic that can be used to determine the number of video files to be pre-cached at the set top box.

DETAILED DESCRIPTION OF THE DRAWINGS

A method of pre-caching video content is provided and includes measuring an available bandwidth of a data connection to a set top box. In one embodiment, the available bandwidth measurement is an average available bandwidth of the data connection to the set top box. However, the available bandwidth measurement can be a minimum available bandwidth of the data connection to the set top box. Each of a plurality of video files is divided into a first portion and a second portion and the size of each first portion is based on the available bandwidth measurement. The first portion of each of the plurality of video files is downloaded over the data connection. Also, the first portion of each of the plurality of video files is stored in a memory within the set top box. A list is displayed at a display device and includes a list of video titles that correspond to the plurality of video files that have only a first portion downloaded to the memory.

In an illustrative embodiment, the total number of video titles on the list is determined at least partially based on the available bandwidth measurement. Moreover, when a user selection of a video title is detected, the first portion of a video file is accessed from memory and corresponds to the video title selected by the user. Then, the first portion of the video file can be displayed at the display device. The method further includes downloading a second portion of the video file over the data connection while the first portion is being displayed at the display device. The second portion of the video file can be displayed after the first portion has been displayed.

In another embodiment, a device is provided for managing video content. The device includes a processor and a computer-readable memory accessible to the processor. The computer readable-memory includes an available bandwidth measurement of a data connection to the device and a list of video titles. Each video title on the list corresponds to a first portion of a video file that is available immediately at the device and a second portion of the video file that is downloadable to the device but stored remotely from the device.

In still another embodiment, a system for managing video content is provided and includes a display device. A set top box is coupled to the display device and includes a data interface to a remote video content source. The set top box includes a processor, and a computer-readable medium accessible by the processor. A program is embedded in the computer-readable medium. The program includes instructions to measure an available bandwidth of the data interface to the set top box. Further, the program includes instructions to receive a first portion of each of a plurality of video files and store the first portion of each of the plurality of video files in a memory within the set top box. The size of the memory to store each first portion is at least partially determined based on the available bandwidth measurement. The program also includes instructions to display a list of video titles at the display device. Each video title on the list represents a video file that has the first portion stored in the memory of the set top box and a second portion that is downloadable to the memory while the first portion is displayed at the display device.

In yet another embodiment, a method of pre-caching video content includes determining a first available bandwidth measurement of a data connection to a set top box. A memory area is allocated for storing a first portion of a video file that is to be downloaded to the memory area. The size of the memory area is partially based on the first available bandwidth measurement. A second available bandwidth measurement of the data connection to the set top box can be determined. Moreover, the size of the memory area for storing the first portion can be adjusted based on the second available bandwidth measurement.

In yet still another embodiment, a method for handling video content includes deploying a set top box at a designated location. The set top box is connected to a data interface and activated. A first available bandwidth measurement of the data interface is determined. A segment of a memory within the set top box is apportioned. The size of the segment of the memory is based on the first available bandwidth measurement. Also, the segment of the memory is configured to store a first portion of each of a plurality of video files. A second portion of each of the plurality of video files is downloadable to the set top box via the data interface.

Referring to FIG. 1, a system for managing movies and video files for display at a television is illustrated and is generally designated 100. As illustrated in FIG. 1, in an exemplary, non-limiting embodiment, the system 100 includes a television 102, but it can be appreciated that the system 100 can include any display device on which video content can be displayed. FIG. 1 indicates that a set top box 104 can be connected to the television 102 via a first data connection or interface 106. The set top box 104 is also connected to a video content provider, e.g., a cable company or a digital satellite company, via a second data connection or interface 108. FIG. 1 also depicts a remote control unit 1 10 that can communicate with the set top box 104 to allow user interaction with the system 100 during operation. The remote control unit 110 can communicate with the set top box 104 via one or more infrared (IR) signals, or other wireless signals.

As indicated in FIG. 1, the set top box 104 includes a processor 112 in which logic, such as user interface logic, can be executed. Further, the set top box 104 includes a memory 114 in which content from the content provider can be downloaded and stored. FIG. 1 also shows that the set top box 104 can include a receiver 116, e.g., an IR receiver, that is configured to receive one or more IR signals from the remote control unit 110. Moreover, as depicted in FIG. 1, the remote control unit 110 can include a plurality of buttons 118 that can be toggled by a user during operation, e.g., in order to request one or more video files to be downloaded from the content provider.

Referring to FIG. 2, a particular embodiment of operating logic of the system 100 (FIG. 1) is shown and commences at block 200 wherein during operation, the following steps are performed: At block 202, a first portion of a plurality of video files are downloaded to the memory 114 (FIG. 1) within the set top box 104 (FIG. 1). Moving to block 204, a list of available video files is displayed. In an illustrative embodiment, the list of available video files includes titles corresponding to each of the video files from which a first portion was downloaded to the memory 114 (FIG. 1). Each of these video files is available for immediate display. At step 206, a determination is made concerning the selection of an available video file. If an available video file is not selected, the logic ends at state 208. On the other hand, if an available video file is selected, the logic proceeds to block 210, and the set top box 104 (FIG. 1) begins transmitting the first portion of the selected video file immediately to the display device 102 (FIG. 1) for display at the display device 102 (FIG. 1).

Proceeding to block 212, while the first portion of the selected video file is being displayed, a second portion of the selected video file is downloaded and stored in the memory 114 (FIG. 1). In an illustrative embodiment, the second portion of the selected video file is the remaining portion of the selected video file to be downloaded. In other words, the first portion and the second portion of the selected video file constitute a complete video file. Moving to step 214, a decision is undertaken in order to determine if the first portion of the selected video file has ended. If not, the method continues to block 216 and the first portion of the selected video file continues to be displayed.

When the first portion of the selected video file ends, the logic proceeds to block 218. At block 218, the second portion of the selected video file is seamlessly displayed at the end of the first portion of the video file. Moving to step 220, a decision is undertaken in order to determine whether the video file has ended. If the video file has not ended, the logic continues to block 222 where the set top box 104 (FIG. 1) continues to display the video file. Conversely, when the video file ends, the logic ends at state 208.

FIG. 3 shows a particular embodiment of a method for configuring the set top box. At block 300, the set top box 104 (FIG. 1) is deployed in a customer home. Moving to block 302, the set top box 104 (FIG. 1) is connected to the display device 102 (FIG. 1). The set top box 104 (FIG. 1) can be connected to the content provider via the second broadband connection 108 (FIG. 1). Continuing to block 306, the set top box 104 (FIG. 1) is activated. At block 308, the bandwidth available via the second broadband connection 104 (FIG. 1) is measured by the set top box 104 (FIG. 1). In an illustrative embodiment, the measured available bandwidth is a minimum available bandwidth. However, the measured available bandwidth can be an average available bandwidth measured over a period of time. Next, at block 310, a pre-cache file size is set for each video file based on the available bandwidth measured above. As the measured available bandwidth increases, the pre-cache file size for each video file can be decreased since the remaining portion of each video file to be streamed can be transmitted to the set top box more quickly. Further, as the cache file size decreases, additional video files can be pre-cached within the memory 114 (FIG. 1) of the set top box (FIG. 1). The method ends at state 312.

In an illustrative embodiment, a user can control display of the selected video file while it is playing at the display device 102 (FIG. 1). For example, a user can pause the video file, rewind the video file, stop the video file, and fast-forward the video file. Moreover, when a video file is selected, the set top box 104 (FIG. 1) can delay playing the first portion of the video file, but continue to download the second portion of the video file and add it to the first portion of the selected video file in the memory.

With the configuration of structure described above, the system and method for pre-caching portions of video files, such as movies, on a set top box, allows a significantly larger number of movies to be available for immediate viewing at a display device coupled to a set top box. Thus, a user is provided with a more diverse selection of movies. For example, a conventional set top box may be able to store up to ten movies that are available for immediate viewing. In an illustrative embodiment, the system disclosed herein can store a first portion of up to one hundred movies where each of those one hundred movies available for immediate viewing. Moreover, when a user selects a movie for viewing, he or she can begin watching a first portion the movie immediately, or at least in near real-time, while the remainder of the movie is downloaded in the background. The user sees the cached portion, i.e., the first portion, of the movie first, and by the time the cached portion is complete, more of the movie, e.g., part or all of the second portion, has streamed onto the set top box. Transition from the cached portion to the streaming portion is substantially transparent. From the user's perspective, the movie is displayed as if it was pre-stored entirely on the set top box. The present system and method may be implemented without requiring an increased size of a hard drive and without an increase to the cost of the set top box.

The above-disclosed subject matter is to be considered illustrative, and not restrictive, and the appended claims are intended to cover all such modifications, enhancements, and other embodiments, which fall within the true spirit and scope of the present invention. Thus, to the maximum extent allowed by law, the scope of the present invention is to be determined by the broadest permissible interpretation of the following claims and their equivalents, and shall not be restricted or limited by the foregoing detailed description. 

1. A method of pre-caching video content, the method comprising: measuring an available bandwidth of a data connection to a set top box; dividing each of a plurality of video files into a first portion and a second portion, wherein a size of the first portion of each video file of the plurality of video files is selected at least partially in response to the available bandwidth measurement; and downloading only the first portion of each of the plurality of video files over the data connection.
 2. The method of claim 1, further comprising: storing the first portion of each of the plurality of video files in a memory within the set top box; and displaying a list of video titles corresponding to the plurality of video files that have only a first portion downloaded to the memory, the list being displayed at a display device.
 3. The method of claim 2, wherein a total number of video titles on the list is determined at least partially based on the available bandwidth measurement.
 4. The method of claim 3, further comprising: detecting a user selection of video title; and accessing the first portion of a video file corresponding to the video title selected by the user from the memory; and displaying the first portion of the video file at the display device.
 5. The method of claim 4, further comprising: downloading a second portion of the video file over the data connection while the first portion is being displayed at the display device.
 6. The method of claim 5, further comprising: displaying the second portion of the video file after the first portion has been displayed.
 7. The method of claim 1, wherein the available bandwidth measurement is an average available bandwidth of the data connection to the set top box.
 8. The method of claim 1, wherein the available bandwidth measurement is a minimum available bandwidth of the data connection to the set top box.
 9. A device for managing video content, the device comprising: a processor; a computer-readable memory accessible to the processor, the computer readable-memory comprising: an available bandwidth measurement of a data connection to the device; and a list of video titles, wherein each video title on the list corresponds to a first portion of a video file that is available immediately at the device and a second portion of the video file that is downloadable to the device but stored remotely from the device.
 10. The device of claim 9, wherein a total number of video titles on the list is based on the available bandwidth measurement, and wherein a size of the first portion of at least one of the video files is based on the available bandwidth measurement.
 11. The device of claim 10, wherein the computer-readable memory comprises: instructions to detect a video title selected by a user from the list of video titles; and instructions to display the first portion of the video file that corresponds to the video title selected by the user.
 12. The device of claim 11, wherein the computer-readable memory comprises: instructions to download the second portion of at least one of the video files to the computer-readable memory.
 13. The device of claim 12, wherein the computer-readable memory comprises: instructions to display the second portion after displaying the first portion.
 14. The device of claim 9, wherein the available bandwidth measurement is an average available bandwidth.
 15. The device of claim 9, wherein the available bandwidth measurement is a minimum available bandwidth.
 16. The device of claim 9, wherein the first portion of the video file and the second portion of the video file form a complete video file.
 17. A system for managing video content, the system comprising: a display device; a set top box coupled to the display device and having a data interface to a remote video content source, the set top box comprising: a processor; a computer-readable medium accessible by the processor; and a program embedded in the computer-readable medium, the program comprising: instructions to measure an available bandwidth of the data interface to the set top box; instructions to receive a first portion of each of a plurality of video files and store the first portion of each of the plurality of video files in a memory within the set top box, wherein a size of the memory to store each first portion is at least partially determined based on the available bandwidth measurement; and instructions to display a list of video titles at the display device, each video title on the list representing a video file having the first portion stored in the memory of the set top box and a second portion that is downloadable to the memory while the first portion is displayed at the display device.
 18. The system of claim 17, wherein the computer program further comprises: instructions to determine a total number of video titles in the list, the total number of at least partially determined based on the available bandwidth measurement.
 19. The system of claim 18, wherein the computer program further comprises: instructions to detect a selected video title from a remote control unit signal; and instructions to display the first portion of the video file that corresponds to the selected video title.
 20. The system of claim 19, wherein the computer program further comprises: instructions to download the second portion over the data interface while the first portion is being displayed at the display device.
 21. The system of claim 20, wherein the computer program further comprises: instructions to display the second portion.
 22. The system of claim 17, wherein the available bandwidth measurement is an average available bandwidth of the data interface.
 23. The system of claim 17, wherein the available bandwidth is a minimum available bandwidth of the data interface.
 24. The device of claim 17, wherein the first portion and the second portion together form a complete video file.
 25. The device of claim 24, wherein the complete video file is a movie.
 26. A method of pre-caching video content, the method comprising: determining a first available bandwidth measurement of a data connection to a set top box; allocating a memory area for storing a first portion of a video file to be downloaded to the memory area, the size of the memory area at least partially based on the first available bandwidth measurement; determining a second available bandwidth measurement of the data connection to the set top box; and adjusting the size of the memory area for storing the first portion based on the second available bandwidth measurement.
 27. The method of claim 26, further comprising: dividing the video file into the first portion and a second portion, wherein the first portion is stored locally at the memory area within set top box and the second portion is stored remotely from the set top box.
 28. The method of claim 27, further comprising: acquiring the first portion of the video file from the memory area in the set top box; displaying the first portion of the video file at a display device; and downloading the second portion over the data connection while the first portion of the video file is being displayed.
 29. The method of claim 28, further comprising: storing the second portion in the memory area within the set top box.
 30. The method of claim 29, further comprising: acquiring the second portion from the set top box; and displaying the second portion after the first portion is displayed at the display device.
 31. A method for handling video content, the method comprising: deploying a set top box at a designated location; connecting the set top box to a data interface; activating the set top box; determining a first available bandwidth measurement of the data interface; and apportioning a segment of a memory within the set top box, wherein a size of the segment of the memory is based on the first available bandwidth measurement, wherein the segment of the memory is configured to store a first portion of each of a plurality of video files, and wherein a second portion of each of the plurality of video files is downloadable to the set top box via the data interface.
 32. The method of claim 31, further comprising: connecting the set top box to a display device; and displaying a list of video titles, each of list of the video titles corresponding to one the plurality of video files having the first portion stored locally and having the second portion stored remotely.
 33. The method of claim 32, further comprising: accessing the first portion of the video file stored locally from the segment of the memory in response to the corresponding video title being selected from the list of video titles.
 34. The method of claim 33, further comprising: displaying the first portion of the video file on the display device.
 35. The method of claim 34, further comprising: downloading the second portion of the video file over the data interface while the first portion is being displayed at the display device.
 36. The method of claim 35, further comprising: storing the second portion of the video file in the memory.
 37. The method of claim 36, further comprising: accessing the second portion of the video file from the memory.
 38. The method of claim 37, further comprising: displaying the second portion on the display device after displaying the first portion.
 39. The method of claim 31, further comprising: determining a second available bandwidth measurement of the data interface; and re-apportioning the size of the segment of the memory based on he second available bandwidth measurement.
 40. The method of claim 31, wherein the designated location is a residence. 